package org.ydeity.lucene.annotation;

import org.ansj.lucene7.AnsjAnalyzer;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.index.IndexWriterConfig;

import java.lang.annotation.*;

/**
 * @Description lucene 实体类
 * @author liuyuan
 * @Date 2020/7/22
 * @Time 9:13 上午
 */
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.TYPE })
public @interface LuceneDocument {

    /**
     * core name, 为空时为类的 simple name
     * @return
     */
    String coreName() default "";

    /**
     * 索引模式 默认在原有的基础上追加
     * @return
     */
    IndexWriterConfig.OpenMode openMode() default  IndexWriterConfig.OpenMode.APPEND;

    /**
     * 分词算法,默认自带标准分词算法
     * @return
     */
    Class<? extends Analyzer> analyzer() default AnsjAnalyzer.class;

    /**
     * 分词算法类型
     * @return
     */
    AnsjAnalyzer.TYPE analyzerType() default AnsjAnalyzer.TYPE.base_ansj;

    /**
     * 是否自动提交
     * @return
     */
    boolean commit() default true;

}
